import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;

import javax.swing.JButton;

import vista.pared.VistaParedDeConcreto;
import vista.pared.VistaParedMetalica;
import vista.tanque.VistaAlgoTank;

import modelo.Contenedor;
import modelo.Posicion;
import modelo.estatico.pared.ParedDeConcreto;
import modelo.estatico.pared.ParedMetalica;
import modelo.tanque.AlgoTank;
import modelo.ventana.VentanaPrincipal;

import Controlador.EscuchadorKeyPress;
import ar.uba.fi.algo3.titiritero.ControladorJuego;
import ar.uba.fi.algo3.titiritero.Dibujable;
import ar.uba.fi.algo3.titiritero.vista.KeyPressedController;
import ar.uba.fi.algo3.titiritero.vista.Ventana;

/**
 * 
 */

/**
 * @author palaciof
 *
 */
public class Juego {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Contenedor unContenedor = null;
		VentanaPrincipal ventanaPrincipal = null;
			
		unContenedor = Contenedor.getInstance();
		unContenedor.inicializarMundo();
		ControladorJuego unControlador = Contenedor.getInstance().getControlador();
		ventanaPrincipal = new VentanaPrincipal(unControlador);
		unControlador.setSuperficieDeDibujo(ventanaPrincipal);
		ventanaPrincipal.setVisible(true);
		ventanaPrincipal.setTitle("AlgoTank");
		//agregue esto q esta comentado
		/*
		Button boton = new Button("Archivo");
		ventanaPrincipal.add(boton,BorderLayout.NORTH);
		boton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.out.println("tudo bem");
			}
		
		});*/
		//ventanaPrincipal.pack();
		//agregue un algoTank para probarlo
		ventanaPrincipal.addKeyListener(new KeyPressedController(unControlador));
		/*AlgoTank algoTank= new AlgoTank (new Posicion(50,50));
		unContenedor.setAlgoTank(algoTank);
		VistaAlgoTank vistaAlgoTank = new VistaAlgoTank();
		vistaAlgoTank.setPosicionable(algoTank);
		unControlador.agregarDibujable(vistaAlgoTank);
		unControlador.agregarObjetoVivo(algoTank);
		unControlador.agregarKeyPressObservador(new EscuchadorKeyPress(Contenedor.getInstance().getAlgoTank()));*/
		
		/*ParedMetalica pared= new ParedMetalica (new Posicion(400,50));
		VistaParedMetalica vista = new VistaParedMetalica();
		vista.setPosicionable(pared);
		unControlador.agregarDibujable(vista);
		unControlador.agregarObjetoVivo(pared);*/
		//unControlador.comenzarJuego(20);
		
		
		
		// Establecer el tiempo de duracion de un loop y comenzar el juego
		unControlador.setIntervaloSimulacion(50);
		unControlador.comenzarJuego();

		// Agregar un key listener a la ventana
		
		
		
		
	}
	
}

